﻿using System;
using System.Collections.Generic;
using Meqs.Entity;
using System.Collections;

namespace Meqs.Logic.Interface
{
    public interface IExamsEducationLogic : ICommonLogic<ExamsEducation, int>
    {
        /// <summary>
        /// 查找学生参加的考试
        /// </summary>
        /// <param name="ht"></param>
        /// <returns></returns>
        IList<ExamsEducation> FindStudentExam(Hashtable ht);
        /// <summary>
        /// 获取某次考试的学生信息
        /// </summary>
        /// <param name="ht"></param>
        /// <returns></returns>
        IList<StudentInfo> FindStudent(Hashtable ht);
        /// <summary>
        /// 创建局级考试，及其科目信息
        /// </summary>
        /// <param name="eduExam"></param>
        /// <param name="listSubject"></param>
        /// <returns></returns>
        int InsertEduExam(ExamsEducation eduExam, List<CauseInfo> listSubject);


        /// <summary>
        /// 删除局级考试，及其科目信息
        /// </summary>
        /// <param name="examId"></param>
        /// <returns></returns>
        int DelEduExam(int examId);


        /// <summary>
        /// 修改局级考试，及其科目信息
        /// </summary>
        /// <param name="eduExam"></param>
        /// <param name="listSubject"></param>
        /// <returns></returns>
        int UpdateEudExam(ExamsEducation eduExam, List<CauseInfo> listSubject);


        /// <summary>
        /// 下发考试
        /// </summary>
        /// <param name="RID">考试id</param>
        /// <returns></returns>
        int PublishedExam(int RID);


        /// <summary>
        /// 结束考试
        /// </summary>
        /// <param name="RID">考试id</param>
        /// <returns></returns>
        int ClosedExam(int RID);

        /// <summary>
        /// 申报考试
        /// </summary>
        /// <param name="RID">考试id</param>
        int UpReportExam(int RID);

        /// <summary>
        /// 获取教育统考考试
        /// </summary>
        /// <param name="areaId">学区id</param>
        /// <param name="grades">年级段</param>
        /// <returns></returns>
        IList<VExamsEducation> SelectSchoolEduExam(int areaId, string grades, string schoolMark);
    }
}